<?php
/**
 * Description of EnderecoService
 *
 * @author Magno
 */
class EnderecoService {


    private $enderecoDAO;
    function __construct() {
        $this->enderecoDAO = new EnderecoDAO();
    }


    public function salvar($endereco) {

        try {
            return $this->enderecoDAO->salvar($endereco);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }

    }

    public function excluir($usuarioID) {

        try {
            if(!isset ($usuarioID) || $usuarioID <= 0)
                throw new Exception("Codigo do Endereco Nao Econtrado!!!");

            $this->enderecoDAO->excluir($usuarioID);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }

    }

    public function existe($usuarioID) {

        try {
            if(!isset ($usuarioID) || $usuarioID <= 0)
                throw new Exception("Codigo do Endereco Nao Econtrado!!!");

            return $this->enderecoDAO->existe($usuarioID);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }

    }

    public function listar($pagina = 0,$cep = "", $cidadeID = 0, $carregarDependencias = false) {
        try {
            return $this->enderecoDAO->listar($pagina, $cep, $cidadeID, $carregarDependencias);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }
    }

    public function buscarPorID($usuarioID, $carregarDependencias = false) {
        try {
            if(!isset ($usuarioID) || $usuarioID <= 0)
                throw new Exception("Codigo do Endereco Nao Econtrado!!!");
            return $this->enderecoDAO->buscarPorID($usuarioID, $carregarDependencias);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }
    }

    public function total($cep = "", $cidadeID = 0) {
        try {
            return $this->enderecoDAO->total($cep, $cidadeID);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }
    }
}
?>
